let timerId = null // 轮询计时器

Page({
  data: {
    safeStyle: "",
    dangerStyle: "",
    items: [],
    timeBound: 60 // 初始空数组
  },

  // 生命周期函数--监听页面加载（网页3、网页7）
  onLoad() {
    this.setData({
      safeStyle: this.generateGradientStyle('#6B8DD6', '#8EABFF'),
      dangerStyle: this.generateGradientStyle('#FF9A9E', '#FAD0C4')
    })
    this.fetchData() // 初始请求
  },

  generateGradientStyle(start, end) {
    return `background-image: linear-gradient(135deg, ${start} 0%, ${end} 100%);`
  },

  // 生命周期函数--监听页面初次渲染完成（网页6、网页8）
  onReady() {
    this.startPolling()
  },

  // 启动轮询（网页6）
  startPolling() {
    timerId = setInterval(() => {
      this.fetchData()
    }, 1000)
  },

  // 数据请求方法（网页1、网页3）
  fetchData() {
    wx.request({
      url: 'http://47.109.143.70/for224/get_checkin',
      method: 'GET',
      success: res => {
        const newItems = res.data.data
        this.setData({
          timeBound: newItems[0].time
        })
        this.updateItems(newItems)
      },
      fail: err => {
        console.error('请求失败:', err)
      }
    })
  },

  // 数据处理（网页9、网页10）
  processData(rawData) {
    return rawData.map(item => ({
      name: item.name,
      value: item.time
    }))
  },

  // 优化更新逻辑（网页6）
  updateItems(newItems) {
    const oldItems = this.data.items
    if (JSON.stringify(oldItems) !== JSON.stringify(newItems)) {
      this.setData({ items: newItems })
    }
  },

  // 生命周期函数--监听页面卸载（网页7）
  onUnload() {
    clearInterval(timerId)
  },

  // 生命周期函数--监听页面隐藏（网页7）
  onHide() {
    clearInterval(timerId)
  }
})